The present disclosure relates generally to MAC learning in an Ethernet based network, and specifically to limiting MAC address learning on Top Of Rack (TOR) switches directly connected to host devices to only those host MAC addresses that are actively involved in exchange of data with hosts behind this switch.
Each of a plurality of frame network devices comprising a local network operating according to the Ethernet protocol can send and receive data frames to each other based upon the physical (MAC) address of the device. Typically a local Ethernet network, such as a data center, includes some number of CORE devices linked to a number of top-of-rack (TOR) devices each of which is associated with one or more servers or host devices. The CORE and TOR devices can be network switches operating to send and receive data frames at the data link layer (L2) and at the network layer (L3) of the well know OSI network model. FIG. 1 illustrates an Ethernet network 10 topology that includes one CORE device (CI), linked to a number of TOR devices (TORI-TORn) each one or which is associated with one or more host devices (H.O-H.139). According to the network 10 topology in FIG. 1, each of the host devices can send/receive data frames to/from each of the other host devices in the network.
Generally, CORE and TOR devices in a network, such as network 10, operate to receive a data frame at an ingress port, process the data frame to determine the destination or next hop that the frame should be sent to (if the switch is not itself the destination) and then send the data frame out an egress port to its intended destination. After the data frame arrives at an ingress port, the switch can examine, among other things, the header in the data frame for information that identifies the destination device to which the data frame is to be sent. This destination information can be the destination MAC address and IP address of a host device linked to a TOR, or it can be address information associate with some other device in the network. Each network switch then can use this address information to determine how to forward data frame to a next hop in the network.
In order for the TOR and CORE devices comprising network 10 to transmit data frames received from any of the other devices in the network (CORE, TOR, Host device) to their intended destination, it is necessary for each of these devices to build and maintain a forwarding table that can include MAC address information assigned to each of the host devices comprising the network, or at least address information associated with the destination host devices to which data frames are sent. This address information can be learned using well know network address learning techniques, such as MAC learning (described in the IEEE standard document 802.ID) or via the address resolution protocol (ARP).
The above MAC learning method will now be described with reference to FIG. 2. In the event that host H.O on TOR T.O has one or more data frames to transmit to host H.39 on TOR T.n, host H.O (assuming H.O on T.O knows the IP address of H.39 on T.n but not the MAC address) can broadcast an ARP request frame that will be received by the CORE switch C.1, by each of the TORs connected to the CORE switch C.1, and by each of the host devices connected to each of the TOR switches. Among other things, the ARP request includes the IP address of the destination host (H.39) and it includes the MAC address of the source host (H.O). Each of the CORE and TOR switches in the network and certain of the host devices receive the ARP request, examine its contents and store the MAC address of the host H.O. More specifically, the MAC address of host H.O is learned on port P.O by TOR T.O and this address is placed into a forwarding table in association with port P.O, then CORE switch C.1 learns the host H.O MAC address and stores the address in its forwarding table in association with the port on which the address is learned. All of the other TOR switches connected to CORE switch C.1 learn the host H.O MAC address on their ports that are linked to the CORE switch and store it in their forwarding tables. Host devices receiving this ARP store the MAC address if they are already communicating with this host or if the receiving host is the target of this ARP request.
Ethernet networks have become ubiquitous and are growing in popularity and usage, especially in the Data Center (DC) environment. This popularity is driving the large scale adaptation of Ethernet technology which in turn is driving down the cost and increasing the speed at which these networks operate. With the large scale adaptation of Ethernet technology, the number of network devices comprising an Ethernet network is increasing. In addition to the increasingly more numerous physical devices connected to such a network, each physical device can be configured to support a number of virtual devices or machines (VM) that operate in conjunction with one or more of the hosts, such as the host devices shown in FIG. 2. Each VM can be assigned a unique MAC address, which, depending upon the number of virtual machines in a local network, can result in a large number of MAC addresses being maintained in the forwarding tables of frame switches that are aware of some or all of the virtual machines.